home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / packet / praf205e / dama.doc < prev    next >
Text File  |  1995-04-01  |  41KB  |  730 lines

  1.  
  2. ARRL : 8th Computer Networking Conference - October 7, 1989 - page 203-209
  3.  
  4.             DAMA - A NEW METHOD OF HANDLING PACKETS ?
  5.             ==========================================
  6.  
  7. by Detlef J. SCHMIDT, DK4EG   Steinbrecherstr. 22    D-38106 BRAUNSCHWEIG
  8.  
  9.                         NORD><LINK e.V.
  10.                         c/o Peter Glzow, DB2OS
  11.                         Allensteiner Str. 5
  12.                         D-30880 LAATZEN
  13.                         Germany
  14.  
  15.               Translation : Mark Bitterlich, WA3JPY
  16.               Reprint     : Pierre Cornelis, ON7PC
  17.  
  18. Lately it seems we are hearing more and more stories about hams who are
  19. having trouble using their local node or digipeater. It seems that the user
  20. has no trouble hearing the digi, but the digi doesn't seem to hear the user
  21. at all. The symptoms almost match those where the receiver at the digi site
  22. is either dead or close to it. While that kind of failure is always a
  23. possibility, it is not the subject of this article.
  24.  
  25. The condition that this paper will talk about is one where the above
  26. symptoms do actually occur, but not from any lack of receiver sensivity.
  27. Instead it is due to the digi's receiver hearing too many signals all at
  28. once and the remote user pretty much gets lost in the "noise".
  29.  
  30. The reason for this becomes obvious when we consider that while all the
  31. users may hear the digi/node just fine, they in many cases don't hear each
  32. other. Thus in some cases, more than one station will transmit at the same
  33. time causing packet collisions. This situation is referred to as "a hidden
  34. station" problem, and for remotely located users access to his or her
  35. favorite digipeater become difficult to impossible during rush hour
  36. periods.
  37.  
  38. This is not a new problem, and in fact there are other services
  39. experiencing the same difficulties. A real world example is ships on the
  40. open sea trying to gain access to a communication satellite.
  41.  
  42. Several different experiments have been made to overcome this dilemma on
  43. amateur packet radio. One possible solution that is being pursued is
  44. through the use of full duplex digipeaters (BTMA), however there are
  45. several disadvantages to this approach. In a full duplex the hardware
  46. expense will normally be much higher and the system will occupy two
  47. frequencies but will only realize the maximum throughput of one. A better
  48. approach might be to increase the throughput by reducing the collisions on
  49. a single channel system rather than spreading the load onto two channels.
  50. It would be ideal if we could incorporate a system that did this with
  51. something so minor as software change (such as replacing the EPROM in a
  52. TNC) or by changing some operational parameters.
  53.  
  54. One of the methods used that attempts to solve the hidden station problem
  55. while still using a single frequency is called DAMA (Demand Assigned
  56. Multiple Access). A description of this method follows.
  57.  
  58. In a connection oriented protocol environment, an end user will try to
  59. connect to the master (satellite) by means of a slotted ALOHA method
  60. (channel access without any coordination). Collisions might occur during
  61. this phase but they are tolerable since they are relatively rare. Once a
  62. connect request is recognized by the master, the connecting stations
  63. identification is added to the polling list and from this point on the
  64. master controls all connected stations. Permission to send data is granted
  65. by means of polls which might be included in ACK packets or even in
  66. transferred data frames.  so in this case a user will only be allowed to
  67. transmit after receiving "permission" in the form of a poll sent from the
  68. master station. Once permission is granted several frames might be
  69. transmitted in a block. However, if the user does not respond within a
  70. given time frame (say around 1/2 second) then the master assumes that the
  71. poll got clobbered or the user never received it for some reason. The
  72. master then passes permission to to transmit to all other active stations
  73. and when completed comes back to the first user and gives him another
  74. chance.
  75.  
  76. On the other hand, if the user (slave) actually receives the poll and
  77. replies with sent I frames, the master will not acknowledge them until the
  78. next time around after serving all the other active stations. If when
  79. polled by the master, the user responds with an empty frame (Receive
  80. Ready/Final), then the master will reduce the user in polling priority and
  81. will skip him on the next time around.
  82.  
  83. As the activity on the frequency increases, the polling priority of
  84. inactive users might be further decreased, but when these stations respond
  85. with an I-frame they will again regain their original priority.
  86.  
  87. If you understand the description just given, you might think that you are
  88. reading about AX.25 level 2 protocol and this is why DAMA has a chance of
  89. working over amateur packet radio. AX.25 L2 provides all the protocol
  90. elements that are needed to implement DAMA and no new syntax is required.
  91. Most of the new functions required could be obtained simply by patching
  92. existing operational parameters while the rest could be achieved by making
  93. some minor changes to the TNC's firmware.
  94.  
  95. So how do we actually go about incorporating DAMA using AX.25 protocol ?
  96.  
  97. Due to the fact that there are no new syntax elements required, the
  98. following description will only use standard AX.25 terms. Since CSMA
  99. (Carrier Sense Multiple Access) as well as DAMA is used, please interpret
  100. all future references DAMA as CSMA-DAMA. The term "poll" used throughout
  101. this text in no way refers to the poll bit  in the control field of packet
  102. frames and this bit remains unchanged to ensure compatibility. The
  103. different phases of the protocol will be described separately below.
  104.  
  105. Connect Establish :
  106. -------------------
  107.  
  108. When a node attempts to connect to a user, the node adds the users ID to
  109. it's polling list and begins to send SABMs to that station. If after a
  110. certain amount of tries no UA is received, the user is assumed to be
  111. inoperable and is removed from the polling list.
  112.  
  113. When a new user starts a connect sequence to the node, he begins by sending
  114. SABMs to the master in a simple CSMA manner duplicating the existing method
  115. used today. Collisions are possible during this phase, so it might be
  116. necessary to repeat the SABMs several times until the node replies with a
  117. UA. Once the node recognizes the users connection attempt, the users ID is
  118. added to the polling list in a fashion very similar to the one used by
  119. TheNet nodes (TheNet userlist) and the node (master) is now in control of
  120. the uplink users station. After the user sends SABMs and the node replies
  121. with a UA, the user replies with an RR0 to signal to the node that it had a
  122. successful reception of UA.
  123.  
  124. Idle state :
  125. ------------
  126.  
  127. As long as no information transfer occurs between user and node, (idles)
  128. then the node sends its polls as an RR with the corresponding count. If the
  129. response by the user is just an RR#, then the time until the next poll to
  130. the user will be lengthened to avoid unnecessary channel load. The exact
  131. amount of time added is determined by the total channel activity.
  132.  
  133. If information transfer by other users on the node is high (as determined
  134. by the number of I-frames being sent) then the amount of time  added before
  135. the next poll occurs to an inactive station is longer than in cases where
  136. there is only very little  channel activity. Thus when the frequency is
  137. basically clear, the waiting times are reduced to a minimum so that no
  138. decrease in channel throughput takes place. This is the principle of the
  139. self-alignment mechanism of DAMA, where a channel is always regulated to
  140. insure its maximum possible throughput.
  141.  
  142. If the node ever fails to receive an RR from the user (due to a collision
  143. of the nodes poll or the users RR response) then the node will proceed on
  144. to the other stations on its polling list. The node will come back and try
  145. this station again after all the other users on its list have been
  146. serviced. If after a certain number of transmitted polls this station still
  147. has not answered, then it is considered to be unavailable by the node and
  148. is dropped completely from the list. This is analogous to those "keep-alive
  149. polls" that we have today.
  150.  
  151. Data transfer : Node --> User :
  152. -------------------------------
  153.  
  154. There is no difference between regular CSMA and DAMA in this case. Because
  155. it is always up to the master (node) to act first, it could send one or
  156. more I-frames or a poll to the user. The user will acknowledge I-frames
  157. immediately with an RR#, but could also send its own I-frames with the
  158. corresponding count (having to correct the count on the sent I-frame serves
  159. the same purpose as an ACK with AX.25). The meaning of the Poll/Final bit
  160. remains unchanged.
  161.  
  162. Data transfer : User --> Node :
  163. -------------------------------
  164.  
  165. As mentioned before, the node will send polls to all users that are
  166. uplinked to it and the user will not respond until it receives this poll or
  167. an I-frame from the node. It may be wise to point out that when a user is
  168. polled he must always come back with some kind of response, even if it is
  169. an RNR#. If the node fails to hear any kind of response from the user then
  170. it assumes something went wrong (such as a collision) and moves on to the
  171. next user on its polling list.
  172.  
  173. This method of always waiting for a poll before transmitting is the central
  174. aspect used to avoid collisions in a situation where hidden stations exist.
  175. This is in contrast to the usual CSMA method where several stations can
  176. actually transmit at the same time. Additionally the problem of deadtime
  177. collisions is resolved. Deadtime refers to the period from when the TNC
  178. realizes the channel is free and starts transmitting, to when he has been
  179. on the air long enough for other TNCs to recognize his carrier. This is
  180. really not a rare case, as exemplified by the case where two or more TNCs
  181. are waiting for a digipeaters carrier to vanish so that they can leap on
  182. the frequency. Using DAMA the node will not acknowledge received frames the
  183. instant it hears them. Instead it will first service all other uplinked
  184. stations and then come back with an RR# to the sending stations I-frames
  185. along with a poll to that station. This poll basically says "Have you got
  186. any else for me ?".
  187.  
  188. Disconnecting :
  189. ---------------
  190.  
  191. If the master intends to cut the connection, it will send the usual
  192. DISC-frame to the user. The user will then promptly respond with the
  193. UA-frame (final bit set). If the node fails to receive the UA and again
  194. sends a DISC-frame, the user will respond with a DM-frame. This is
  195. identical to the actual CSMA version.
  196.  
  197. When the user wants to disconnect from the node, he will wait to send his
  198. DISC-frame until polled by the master. AT this point it makes no major
  199. difference whether the node responds to the user right away with a UA or
  200. goes through another polling cycle to do so, however an immediate UA is
  201. preferred.
  202.  
  203. UI-frames :
  204. -----------
  205.  
  206. In CSMA as well as in a DAMA environment, the UI-frames are treated in a
  207. special way. I.E. These frames are used to carry some information besides
  208. the regular protocol traffic. Normally UI-frames are never sent from a user
  209. to a node, and it is not good headwork to make a habit of making UI-frame
  210. direct QSOs on the input frequency of a node. However, in contrast to a
  211. duplex system, it is possible to actually do this. So although the rare
  212. UI-frames will reduce the throughput to the CSMA value, it will not drop
  213. the much lower ALOHA value that would occur with a duplex digi having a QSO
  214. on its input frequency. UI-frames originated by the node are no problem
  215. since all stations receive these frames.
  216.  
  217. Other protocol elements :
  218. -------------------------
  219.  
  220. So we have gone from the beginning to the end in describing a complete DAMA
  221. session. We have not translated each and every AX.25 element into one that
  222. has a special significance to DAMA. This is not required since many of them
  223. will keep their initial meaning. DM, RNR, REJ, etc will all be used as they
  224. were before. The only deviation from the pure CSMA version is in the fact
  225. that the users will only be allowed to transmit these frames after
  226. receiving permission from the master (node) in the form of a poll. The node
  227. will only transmit these frames after all other users on its list are
  228. served by completion of one polling cycle.
  229.  
  230. Compatibility of DAMA and CSMA :
  231. --------------------------------
  232.  
  233. One advantage of the DAMA method is that it does not require everybody to
  234. change everything all at once. However as additional users convert their
  235. TNCs to work with DAMA the more pronounced will become the increase of
  236. throughput. Even stations that are waiting to switch over could help to
  237. increase the areas throughput by changing a few operational parameters. For
  238. example the delay between the reception of a frame and the TNCs response
  239. (sometimes called T2 or DWAIT) should be reduced to a value under 1 second.
  240. In addition the time interval from when an I-frame is sent to when the TNC
  241. sends an RR# to ask for a pending ACK, should be set to a value that is
  242. clearly higher than the time between two polls of the master (usually more
  243. than 30 seconds at 1200 Bd).
  244.  
  245. To fully benefit from DAMA both the node and the user must work together in
  246. the master/slave relationship. Assuming that the users TNC is capable of
  247. both the normal and the DAMA mode, there still remains the problem of how
  248. to tell the user to "turn DAMA mode on". There are several ways that this
  249. could be done:
  250. 1. Automatic detection of the protocol version by means of the protocol
  251. identifier byte or reserved SSID-octet-bits of the node (preferred
  252. version).
  253. 2. Implementation of a channel specific parameter which controls the
  254. protocol version.
  255. 3. Implementation of a new UPLINK command besides the current CONNECT
  256. command.
  257. 4. Implement a further protocol element such as a SABM-frame (similar to
  258. X.25) so that at connect time the node could alert the user to the
  259. increased features.
  260.  
  261. In case #1 of the above it would be sufficient to tell the user to switch
  262. DAMA mode only once, at connect time. This state would then remain in
  263. effect until disconnect. However since there is no PID  field in
  264. SABM-frames this information has to be carried in some other way, such as
  265. utilizing the dormant bit 5 of the master's SSID address field. It is
  266. proposed that DAMA test versions set this bit to 0 to convey the necessary
  267. information to the users TNC.
  268.  
  269. Conclusion :
  270. ------------
  271.  
  272. The existing AX.25 version was established in 1982 when packet radio was
  273. not widespread as it is today. Most stations in the beginning were pretty
  274. much equal and there was no distinction made between DTE and DCE functions.
  275. However with the implementation of wide area networks not all stations are
  276. performing the same function. In fact today the network nodes are acting in
  277. DCE function considering their control and information exchanging aspects.
  278. These functions will be better served with the implementation of DAMA.
  279.  
  280. The methods discussed in this article could increase the throughput on an
  281. AX.25 channel tremendously. One advantage is the avoidance of system
  282. breakdown which occurs with channel overload. Using DAMA, the throughput
  283. will increase continuously up to its maximum. There is no foldback effect
  284. like that which occurs using CSMA where at a special limit (above ca 60%)
  285. the throughput is actually reduced.
  286.  
  287. There is also a strong "social" aspect of DAMA wherein even the weak
  288. stations can work through the node reliably without being overpowered by
  289. stations close to the node.
  290.  
  291. It is possible to make direct connections with other HAMs on the uplink
  292. frequency unlike that of a duplex system. In addition the users TNCs still
  293. retain the digipeater capability inherent in our present simplex system.
  294. All protocol elements keep their original meaning which allows both
  295. versions to be utilized on the same frequency, yet throughput increases as
  296. more and more users switch over to the new method.
  297.  
  298.  Literatur
  299.  
  300.  Fox,T.        AX.25 Level 2 protocol specifications    AMRAD
  301.  
  302.  Kauffels,F.J. Lokale Netze                             R.Mller Verlag
  303.  
  304.  Mahle,C.      Satellite Scenarios and Technology       IEEE J. on selected
  305.  Hyde,G        for the 1990's                           Areas in communication
  306.  Inukai,Th.                                             May '87
  307.  
  308.  Schmidt,D.J.  DAMA, ein neues Verfahren fr            cq-DL, 4/89
  309.                Packed-Radio?
  310.  
  311.  Schmidt,D.J.  Synchrone DF-Protokolle mit 6809-Micro- TU-Script BS '81
  312.                Computern in heterogenen Sternnetzen
  313.  
  314.  Tanenbaum,A.  Computer Networks                        Prentice Hall Verlag
  315.  
  316. -------------------------------------------------------- July 24, 1992 ---
  317.  
  318. Note by DB2OS: The full DAMA protocoll is implemented in the latest
  319.                version of TheNetNode (TheNet for PC) as a DAMA MASTER
  320.                and TheFirmware (WA8DED Hostmode for TNC2) as a DAMA
  321.                SLAVE by NORD><LINK. DAMA is also supported by TFPCX, a
  322.                resident AX.25 software TNC for the PC (only external
  323.                Modem required, no TNC) and by TFKISS (former TFPCR).
  324.                TFKISS emulates a TNC with TheFirmware and any TNC
  325.                can be used if it can be switched into KISS-Mode!!!
  326.                DIGICOM and BAYCOM Software also now supports DAMA.
  327.                DAMA is now used on several german TNN digipeaters and 
  328.                the results are of great promise. 
  329.  
  330.  
  331.        -----------------------------------------------------------
  332.  
  333.        ╔══════════════════════════════════════════════════════════╗
  334.        ║  D A M A  -  UN NUOVO METODO DI TRATTARE I PACCHETTI ?   ║
  335.        ╚══════════════════════════════════════════════════════════╝
  336.              ┌────────────────────────────────────────────┐
  337.              │        Detlef J. Schmidt, DK4EG            │
  338.              │  Steinbrecherstr.22 D-3300 Braunschweig    │
  339.              │   Translation: Mark Bitterlich, WA3JPY     │
  340.              │   Traduzione:  IW2HIG @ IK2JYT, Paolo      │
  341.              └────────────────────────────────────────────┘
  342.  
  343.         Ultimamente sembra di sentire sempre piu' storie riguardo a
  344.  radioamatori che hanno dei problemi usando il loro BBS locale o nodo.
  345.  Sembra che mentre l'utente non ha problemi a sentire il BBS, il BBS non
  346.  senta del tutto l'utente. Il sintomo che corrisponde quasi esattamente e'
  347.  che il ricevitore collegato al BBS e' morto o chiuso rispetto all'utente.
  348.  Questo tipo di problema e' sempre possibile, ma non e' l'argomento che
  349.  trattera' questo articolo.
  350.  
  351.         Il caso che questo articolo trattera' e' quello in cui accadono i
  352.  sintomi precedentemente descritti, ma cio' non e' dovuto ad una mancanza
  353.  della sensibilita' del ricevitore.
  354.  Invece il problema e' causato dal fatto che il ricevitore del BBS riceve
  355.  troppi segnali tutti insieme e l'utente rimane coperto dagli altri segnali.
  356.  
  357.         La spegazione di questo diventa ovvia quando consideriamo il fatto
  358.  che tutti gli utenti possono sentire il BBS/nodo molto bene, mentre in molti
  359.  casi i singoli utenti non si sentono l'uno con l'altro. Cosi' puo' capitare
  360.  che piu' di una stazione trasmettera' nello stesso istante causando la
  361.  collisione dei pacchetti.
  362.  La situazione e' chiamata problema delle "stazioni nascoste" e per gli
  363.  utenti lontani l'accesso al loro BBS favorito puo' diventare difficoltoso
  364.  se non addirittura impossibile durante le ore di punta.
  365.  
  366.         Questo non e' un problema nuovo, ed infatti ci sono altri servizi
  367.  affetti dallo stesso problema. Per esempio una nave in mare aperto che
  368.  tenta di accedere ad un satellite di comunicazioni (quante altre navi
  369.  possono farlo contemporaneamente ?).
  370.  
  371.         Molti esperimenti diversi sono stati fatti per aggirare questo
  372.  problema del packet radioamatoriale. Una soluzione possibile puo' essere
  373.  perseguita attraverso l'uso di un ripetitore digitale full duplex (BTMA),
  374.  tuttavia ci sono diversi svantaggi a questo approccio.
  375.  In un sistema full duplex il costo dell'hadware sara' normalmente piu' alto
  376.  e il sistema occupera' due frequenze ma realizzera' la massima efficienza
  377.  [nell'originale throughput, passare attraverso] su una sola.
  378.  Un approccio migliore dovrebbe essere quello di incrementare l'efficienza
  379.  riducendo le collisioni su un singolo canale piuttosto che dividendo il
  380.  carico su due canali. L'ideale sarebbe che noi potessimo incorporare un
  381.  sistema che faccia questo con un semplice cambio del software (come una
  382.  sostituzione della EPROM nel TNC) o mediante un cambio dei parametri
  383.  operativi.
  384.  
  385.         Uno dei metodi usato per tentare di risolvere il problema delle
  386.  stazioni nascoste continuando ad utilizzare una singola frequenza e'
  387.  chiamato DAMA (Demand Assigned Multiple Access).
  388.  [letteralmente, Accesso Multiplo Assegnato su Domanda, su richiesta]
  389.  Quello che segue e' una descrizione di questo metodo.
  390.  
  391.         In un protocollo orientato alla connessione, un utente finale
  392.  tentera' di connettere il Master (satellite nel caso della nave) mediante
  393.  il metodo automatico ALOHA. Possono avvenire delle collisioni durante questa
  394.  fase ma esse sono tollerabili dato che sono relativamente rare. Una volta
  395.  che la richiesta di connessione e' riconosciuta del Master, la stazione
  396.  chiamante e' aggiunta a una lista di candidati e da questo punto in poi il
  397.  Master contolla tutte le stazioni connesse.
  398.  Il permesso di trasmettere i dati e' accordato attraverso indagini, sondaggi
  399.  che possono essere inclusi nei pacchetti di ACK o anche nei pacchetti
  400.  (frames) di dati trasmessi. Cosi' in questo caso un utente potra'
  401.  trasmettere solo dopo aver ricevuto il "permesso" sotto forma di richiesta
  402.  spedita dalla stazione Master.
  403.  Una volta che il permesso e' accordato diversi pacchetti possono essere
  404.  trasmessi in una volta. Tuttavia, se l'utente non risponde entro un
  405.  assegnato tempo (diciamo intorno al mezzo secondo) allora il Master assume
  406.  che la richiesta non e' stata accolta, il sondaggio e' fallito oppure
  407.  l'utente non l'ha ricevuto per qualche ragione. Il Master allora passa il
  408.  permesso di trasmettere a tutte le altre stazioni attive e una volta
  409.  completato il giro ritorna al primo utente dandogli un'altra possibilita'.
  410.  
  411.         In altre parole, se l'utente (Slave [schiavo]) attualmente riceve
  412.  la richiesta e risponde con gli I-frames (frames di Informazione), il Master
  413.  non li confermera' fino al turno successivo dopo aver servito tutte le altre
  414.  stazioni attive. Se quando interrogati dal Master l'utente risponde con un
  415.  frame vuoto (Receive Ready/Final), allora il Master ridurra' la priorita'
  416.  dell'utente nella lista delle interrogazioni e lo saltera' al turno
  417.  successivo.
  418.  
  419.         Come aumenta l'attivita' sulla frequenza, la priorita' delle
  420.  interrogazioni degli utenti inattivi potrebbe decrescere sempre piu', ma
  421.  quando queste stazioni rispondono con un frame di informazione (I-frame)
  422.  esse saranno riportate alla priorita' originale.
  423.  
  424.         Se hai capito la descrizione appena data potresti pensare che stai
  425.  leggendo la descrizione del protocollo AX.25 livello 2 ed e' per questo che
  426.  il DAMA ha la possibilita' di operare insieme agli altri pacchetti
  427.  radioamatoriali.
  428.  L'AX.25 livello 2 contiene tutti gli elementi di protocollo che sono
  429.  necessari per implementare il DAMA e nessuna sintassi aggiuntiva e'
  430.  richiesta. La maggior parte delle nuove funzioni puo' essere ottenuta
  431.  riorganizzando i parametri operativi esistenti mentre il resto puo' essere
  432.  ottenuto apportando alcune piccole modifiche al firmware del TNC.
  433.  
  434.  Allora come possiamo ora incorporare il DAMA usando il protocollo
  435.  AX.25 ?
  436.  
  437.         A causa del fatto che non sono richiesti nuovi elementi di sintassi,
  438.  la descrizione seguente usera' solo i termini standard AX.25. Dato che e'
  439.  usato tanto il CSMA quanto il DAMA, tutti i prossimi riferimenti al DAMA
  440.  vanno interpretati come CSMA-DAMA.
  441.  Il termine "interrogazione, sondaggio" [nell'originale, Pool], usato in
  442.  tutto questo testo non e' riferito al bit di interrogazione contenuto nel
  443.  campo di controllo del pacchetto dei frames e questo bit rimane inalterato
  444.  per assicurare la compatibilita'. Le parti differenti del protocollo sono
  445.  descritte separatamente sotto.
  446.  
  447.  ┌──────────────────────────┐
  448.  │ Stabilire la connessione │
  449.  └──────────────────────────┘
  450.         Quando un BBS attende di connettere un utente, il BBS agginge l'ID
  451.  dell'utente alla sua lista di interrogazione e incomincia a spedire i
  452.  pacchetti SABM a quella stazione. Se dopo un certo numero di tentativi
  453.  nessun UA e' ricevuto, l'utente e' considerato irraggiungibile e rimosso
  454.  dalla lista dei sondaggi.
  455.  
  456.         Quando un nuovo utente inizia la sequenza di connessione al BBS,
  457.  inizia inviando SABM al Master nel semplice modo CSMA copiando il metodo
  458.  esistente usato oggi. Le collisioni sono possibili durante questa fase,
  459.  cosicche' puo' essere necessario ripetere diverse volte i SABM finche' il
  460.  BBS risponde con un UA. Una volta che il BBS riconosce la richiesta di
  461.  connessione dell'utente, l'ID dell'utente e' aggiunto alla lista dei
  462.  sondaggi in un modo molto simile a quello attualmente usato dai nodi TheNet
  463.  (TheNet userlist) e il BBS (Master) ha il controllo degli uplink della
  464.  stazione utente. Dopo che l'utente invia i SABM e il BBS risponde con un UA,
  465.  l'utente risponde con un RR#0 per segnalare al BBS che la ricezione dell'UA
  466.  ha avuto successo.
  467.  
  468.  ┌────────────┐
  469.  │ Stato IDLE │
  470.  └────────────┘
  471.         Quando non avviene alcun trasferimento di informazioni tra l'utente
  472.  e il nodo (idles), allora il nodo invia i suoi sondaggi come un RR per il
  473.  corrispondente numero di volte. Se la risposta dell'utente e' un semplice
  474.  RR#, allora il tempo del prossimo sondaggio a questo utente verra' allungato
  475.  per evitare un carico non necessario del canale. L'esatta quantita' di tempo
  476.  aggiunto e' determinato dall'attivita' totale del canale.
  477.  
  478.         Se il flusso di informazioni degli altri utenti del BBS e' elevato
  479.  (determinato dal numero di I-frames che vengono trasmessi) allora la
  480.  quantita' di tempo aggiunta prima che avvenga il prossimo sondaggio ad una
  481.  stazione inattiva e' maggiore del caso in cui l'attivita' sul canale sia
  482.  veramente poca. In questo modo quando la frequenza e' fondamentalmente
  483.  libera, i tempi di attesa sono ridotti al minimo cosicche' non avviene
  484.  nessun decremento dell'efficienza del canale. Questo e' il principio del
  485.  meccanismo di auto allineamento del DAMA, dove un canale e' sempre regolato
  486.  per assicurare la massima efficienza possibile.
  487.  
  488.         Se il BBS dovesse fallire la ricezione del RR dell'utente (a causa
  489.  della collisione con un interrogazione del BBS o di una risposta RR di
  490.  un utente) allora il BBS procedera' nella lista dei sondaggi delle altre
  491.  stazioni. Il BBS tornera' e tentera' ancora questa stazione dopo aver
  492.  servito tutti gli altri utenti della sua lista. Se dopo un certo numero
  493.  di tentativi di interrogazioni questa stazione non risponde ancora, allora
  494.  essa e' considerata non disponibile al BBS ed e' esclusa completamente dalla
  495.  lista. Questo e' analogo a quei "keep-alive polls" [letteralmente, sondaggi
  496.  per mantenere vivi, per mantenere attivo il collegamento] che si hanno oggi.
  497.  
  498.  ┌───────────────────────────────────┐
  499.  │ Trasferimento dati: BBS => Utente │
  500.  └───────────────────────────────────┘
  501.         Non c'e' alcuna differenza tra il normale CSMA e il DAMA in questo
  502.  caso. Poiche' tocca sempre al Master (BBS) la prima mossa, esso puo'
  503.  spedire uno o piu' I-frames o una interrogazione all'utente.
  504.  L'utente confermera' immediatamente gli I-frames con un RR#, ma potra'
  505.  spedire a sua volta i propri I-frames per il corrispondente numero di volte
  506.  (dato che un corretto numero di I-frames ha la stessa funzione degli ACK nel
  507.  protocollo AX.25). Il significato del bit di interrogazione finale rimane
  508.  inalterato.
  509.  
  510.  ┌───────────────────────────────────┐
  511.  │ Trasferimento dati: Utente => BBS │
  512.  └───────────────────────────────────┘
  513.         Come detto prima, il BBS inviera' dei sondaggi a tutti gli utenti
  514.  che sono collegati con esso e l'utente non rispondera' finche' non ricevera'
  515.  questa interrogazione o un I-frame dal BBS. E' interessante notare che
  516.  quando un utente e' interrogato egli deve sempre rispondere con qualche tipo
  517.  di pacchetto, fosse anche un semplice RNR#. Se il BBS non sente alcun tipo
  518.  di risposta dall'utente allora suppone che qualcosa e' andato storto (come
  519.  una collisione) e si porta verso il prossimo utente nella sua lista di
  520.  interrogazioni.
  521.  
  522.         Questo metodo di aspettare sempre una interrogazione prima di
  523.  trasmettere e' l'aspetto centrale usato per evitare le collisioni in una
  524.  situazione in cui esistano delle stazioni nascoste.
  525.  Questo e' in contrasto con l'usuale metodo CSMA dove diverse stazioni
  526.  possono attualmente trasmettere nello stesso tempo. In piu' il problema
  527.  dei tempi morti per evitare le collisioni e' risolto. Per tempi morti si
  528.  intende quei periodi nei quali il TNC realizza che il canale e' libero e
  529.  incomincia la trasmissione, oppure quelli in cui egli e' stato in
  530.  trasmissione abbastanza a lungo per essere riconosciuto dagli altri TNC.
  531.  Questo non e' veramente un evento raro esemplificato dal caso in cui due o
  532.  piu' TNC sono in attesa che svanisca la portante del BBS in modo che loro
  533.  possano occupare la frequenza.
  534.  Usando il DAMA il BBS non confermera' i frames ricevuti nell'istante in cui
  535.  li sente. Invece servira' prima tutti le altre stazioni connesse e dopo
  536.  tornera' indietro con un RR# alle stazioni trasmittenti gli I-frames insieme
  537.  con una interrogazione a quelle stazioni. Questa interrogazione, questo
  538.  sondaggio in pratica chiede: "Hai qualcos'altro per me ?".
  539.  
  540.  ┌────────────────┐
  541.  │ Disconnessione │
  542.  └────────────────┘
  543.         Se il Master intende interrompere la connessione, inviera' il solito
  544.  DISC-frame all'utente. L'utente allora rispondera' immediatamente con un
  545.  UA-frame (bit finale settato). Se il BBS non riceve l'UA e spedisce ancora
  546.  un DISC-frame, l'utente risponde con un DM-frame. Questo e' identico alla
  547.  attuale versione del CSMA.
  548.  
  549.         Quando un utente vuole disconnettersi da un BBS, egli aspettera' di
  550.  spedire il suo DISC-frame fino a che non e' interrogato dal Master.
  551.  A questo punto non fa piu' differenza se il BBS risponde all'utente nel
  552.  giusto modo con un UA o prosegue con un altro ciclo di interrogazione, in
  553.  ogni caso un immediato UA e' preferito.
  554.  
  555.  ┌───────────┐
  556.  │ UI-frames │
  557.  └───────────┘
  558.         In CSMA come nell'ambiente DAMA, gli UI-frame [Unnumbered Information
  559.  Frame, frame di informazioni non numerate, come avviene in broadcast]
  560.  sono trattati in modo speciale. Per esempio questi frames sono usati per
  561.  portare alcune informazioni oltre il normale protocollo di traffico.
  562.  Normalmente gli UI-frames non sono mai spediti da un utente al BBS, e non e'
  563.  un buon lavoro fare l'abitudine di trasmettere UI-frames direttamente in un
  564.  QSO su una frequenza d'ingresso di un BBS. Tuttavia, al contrario che in un
  565.  sistema duplex e' possibile farlo effettivamente. Anche se cosi' facendo i
  566.  rari UI-frame ridurranno l'efficienza ai valori del CSMA, questa non cadra'
  567.  fino a raggiungere il livello dell'ALOHA come potrebbe accadere con un BBS
  568.  duplex con un QSO in corso sulla sua frequenza di ingresso.
  569.  Invece gli UI-frame generati dal BBS non sono un problema visto che tutte le
  570.  stazioni ricevono questi frame.
  571.  
  572.  ┌───────────────────────────────┐
  573.  │ Altri elementi del protocollo │
  574.  └───────────────────────────────┘
  575.         Siamo cosi' andati dall'inizio alla fine nella descrizione di una
  576.  completa sessione DAMA. Non abbiamo tradotto ognuno degli elementi
  577.  dell'AX.25 in uno che ha uno speciale significato per il DAMA.
  578.  Questo non e' richiesto dato che molti di loro mantengono il loro originale
  579.  significato. DM, RNR, REJ, ecc. saranno usati come fatto fin'ora.
  580.  L'unica deviazione dalla versione del puro CSMA e' il fatto che agli utenti
  581.  sara' permesso trasmettere questi frames dopo aver ricevuto il permesso dal
  582.  Master (BBS) sotto forma di richiesta, di sondaggio. Il BBS trasmettera'
  583.  questi frames solo dopo che tutti gli altri utenti sulla sua lista sono
  584.  serviti dal completamento di un ciclo di sondaggio.
  585.  
  586.  ┌────────────────────────────────────┐
  587.  │ Compatibilita' del DAMA e del CSMA │
  588.  └────────────────────────────────────┘
  589.         Un vantaggio del metodo DAMA e' che non richiede che ognuno debba
  590.  cambiare ognicosa tutto in una volta. Tuttavia piu' utenti convertiranno i
  591.  loro TNC a lavorare con il DAMA maggiore sara' l'incremento di efficienza.
  592.  Addirittura le stazioni che stanno aspettando di aggiornarsi possono aiutare
  593.  ad incrementare l'efficenza locale cambiando pochi parametri operativi.
  594.  Per esempio, il ritardo tra la ricezione del frame e la risposta del TNC
  595.  (chiamata alcune volte T2 o DWAIT) dovrebbe essere ridotta ad un valore
  596.  sotto 1 secondo. In piu' l'intervallo di tempo da quando un I-frame e'
  597.  spedito a quando il TNC invia un RR# per chiedere di un ACK pendente,
  598.  dovrebbe essere impostato ad un valore che e' chiaramente piu' alto che il
  599.  tempo tra due sondaggi del Master (abitualmente piu' di 30 secondi a 1200
  600.  baud).
  601.  
  602.         Per beneficiare pienamente dal DAMA, sia il BBS che l'utente devono
  603.  lavorare insieme in rapporto di Master/Slave. Assumendo che il TNC
  604.  dell'utente e' capace di entrambi i modi normale e DAMA, rimane il problema
  605.  di come dire all'utente "attiva il modo DAMA".
  606.  Ci sono diversi modi che possono essere utilizzati:
  607.  
  608.  1. Individuazione automatica della versione del protocollo mediante il byte
  609.     di riconoscimento del protocollo o di un riservato SSID di otto bit del
  610.     BBS (versione preferita).
  611.  
  612.  2. Implementazione di uno specifico parametro del canale che controlla la
  613.     versione del protocollo.
  614.  
  615.  3. Implementazione di un nuovo comando UPLINK in aggiunta al corrente
  616.     comando CONNECT.
  617.  
  618.  4. Implementazione di un ulteriore elemento di protocollo quale un
  619.     SARM-frame (simile all'X.25) grazie al quale al momento della connessione
  620.     il BBS puo' avvertire l'utente delle caratteristiche estese.
  621.  
  622.         Nel primo caso sarebbe sufficiente dire all'utente di passare al modo
  623.  DAMA una volta sola, al momento della connessione. Questo stato rimarra'
  624.  attivo fino alla disconnessione. Comunque dato che non ci sono campi PID nei
  625.  frame SABM questa informazione deve essere veicolata in qualche altro modo,
  626.  utilizzando per esempio il bit inattivo n. 5 del campo indirizzo dell'SSID
  627.  del Master. E' stato proposto che la versione test del DAMA ponga questo bit
  628.  a 0 per trasmettere l'informazione necessaria al TNC dell'utente.
  629.  
  630.  ┌─────────────┐
  631.  │ Conclusione │
  632.  └─────────────┘
  633.         La versione esistente dell'AX.25 fu stabilita nel 1982 quando il
  634.  packet radio non era cosi' diffuso come lo e' tutt'oggi. La maggior parte
  635.  delle stazioni all'inizio erano praticamente uguali e non era fatta alcuna
  636.  distinzione tra le funzioni DTE e DCE. Tuttavia con l'implementazione su
  637.  vaste aree dei networks non tutte le stazioni garantiscono le stesse
  638.  funzioni, prestazioni. Infatti oggi i nodi network sono attivi con la
  639.  funzione DCE considerando gli aspetti di interscambio di informazioni e
  640.  di controllo. Queste funzioni saranno svolte meglio con l'implementazione
  641.  del DAMA.
  642.  
  643.         I metodi discussi in questo articolo possono incrementare
  644.  tremendamente l'efficienza di un canale AX.25. Un vantaggio e' evitare il
  645.  collasso del sistema che avviene con il canale sovraffollato.
  646.  Usando il DAMA, l'efficienza aumentera' continuamente fino a raggiungere il
  647.  suo massimo. Non ci sono piu' effetti negativi come quelli che accadono
  648.  usando il CSMA dove oltre un limite particolare (sopra il 60% circa)
  649.  l'efficienza e' effettivamente ridotta.
  650.  
  651.         C'e' anche un forte aspetto "sociale" del DAMA, in cui perfino le
  652.  deboli stazioni possono lavorare attraverso il BBS efficientemente senza
  653.  essere coperte dalle altre stazioni piu' vicine al BBS.
  654.  
  655.         E' possibile fare delle connessioni dirette con altri radioamatori
  656.  sulla frequenza di entrata diversamente dal sistema duplex. In piu' i TNC
  657.  degli utenti continueranno ad avere la funzione di digipeater compresa
  658.  negli attuali sistemi simplex.
  659.  
  660.         Tutti gli elementi di protocollo mantengono il loro originale
  661.  significato il che permette ad entrambe le versioni di essere utilizzate
  662.  sulla stessa fraquenza, ma l'efficienza del canale aumentera' tanto piu'
  663.  quanti piu' utenti passeranno al nuovo metodo.
  664.  
  665.  ┌───────────┐
  666.  │ GLOSSARIO │
  667.  └───────────┘
  668.  DM            Disconnect Mode                         [Modo disconnesso]
  669.  DISC          Disconnect Frame                        [Frame di sconnessione]
  670.  FRMR          Frame Reject                            [Frame rifiutato]
  671.  I             Information Frame                       [Frame di informazione]
  672.  REJ           Reject Frame                            [Frame rifiutato]
  673.  RNR           Receive Not Ready                       [Ricevitore non pronto]
  674.  RR            Receive Ready                           [Ricevitore pronto]
  675.  SABM          Set Asynchronous Balanced Mode          [Imposta il modo
  676.                                                         asincrono bilanciato]
  677.  SARM          Set Asynchronous Response Mode          [Imposta il modo
  678.                                                         asincrono di risposta]
  679.  UA            Unnumbered Acknowledge                  [Conferma non numerata]
  680.  UI            Unnumbered Information frame            [Frame di informazione
  681.                                                         non numerato]
  682.  
  683.  ALOHA         channel access without any coordination [Accesso al canale
  684.                                                         senza alcun
  685.                                                         coordinamento]
  686.  CSMA          Carrier Sense Multiple Access           [Accesso multiplo con
  687.                                                         riconoscimento della
  688.                                                         portante]
  689.  BTMA          Busy Tone Multiple Access               [Accesso multiplo con
  690.                                                         il busy tone]
  691.  DAMA          Demand Assigned Multiple Access         [Accesso multiplo
  692.                                                         assegnato su domanda]
  693.  
  694.  DCE           Data Circuit terminating Equipment      [Equipaggiamento che
  695.                                                         termina il circuito
  696.                                                         dei dati]
  697.  DTE           Data Terminating Equipment              [Equipaggiamento che
  698.                                                         termina i dati]
  699.  
  700.  Protocollo orientato alla connessione:
  701.  tutti i nodi del percorso network conoscono tutte le altre stazioni che
  702.  stanno usando questo percorso, almeno ogni tanto. Questa versione richiede
  703.  maggiore potenza dei computer nel network di nodi ma evita alcuni non
  704.  necessari sovraccarichi di trasferimenti.
  705.  In opposizione a questo e' il protocollo a minor connessione, dove i
  706.  pacchetti sono semplicemente passati all'utente successivo di pari livello
  707.  (per esempio il 2 livello di trasmissione "muto" del Packet Radio).
  708.  
  709.  ┌─────────────┐
  710.  │ Letteratura │
  711.  └─────────────┘
  712.  div           X.25 Interface DTE/DCE f Packetmodus       CCITT Genf'76
  713.  div           Transactions on communications             IEEE
  714.  Fox, T.       AX.25 Level 2 protocol specifications      AMRAD
  715.  Kauffels, J.  Lokale Netze                               R.Mueller Verlag
  716.  Schmidt, D.J. Syncrone DFUe-Protocolle mit
  717.                6809-Micro BS '81 Computern in
  718.                heterogenen Sternnetzen
  719.  Tanenbaum, A. Computer Networks                          Prentice Hall
  720.  
  721.  ╔═══════════════════════╦══════════════════════════════════════════════════╗
  722.  ║  ||/|/|/| Push to test║ ░▒▓█ IW2DVL - AX25/TCP-IP Node - 1200/9600B █▓▒░ ║
  723.  ║  |      |             ╠══════════════════════════════════════════════════╣
  724.  ║  | (o)(o)    > O <    ║ QTH    : Cinisello B. (Milano - ITALY) - JN45OM  ║
  725.  ║  C      _)            ║ E-MAIL : IW2DVL @ IW2GKO.#MI.ITA.EURO            ║
  726.  ║   | ,___|  Release to ║ AmprNET: Max@iw2dvl.ampr.org    [44.134.160.115] ║
  727.  ║  /____|     DETONATE  ║          Max@iw2dvl-10.ampr.org [44.134.160.132] ║
  728.  ╚═══════════════════════╩══════════════════════════════════════════════════╝
  729.  
  730.